iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 15
1
Modern Web

用Elixir學習後端煉金術系列 第 15

Day 15 |> 用Mix做出一個簡單的專案

  • 分享至 

  • xImage
  •  
  1. 創建專案

mix 是 Elixir 中的套件管理工具,類似python 的 pip、nodejs 的 npm 等。
但mix提供了更多功能,藉由方便的指令,mix可以做出簡單的Elixir專案,管理套件,測試許多功能。

今天只要輸入mix new new_project,便可以做出一個簡單的Elixir專案。

打開專案目錄下的mix.exs,這支檔案紀錄了專案的相關資訊,以及套件依賴(deps)。

mix.exs

defmodule NewProject.MixProject do
  use Mix.Project

  def project do
    [
      app: :new_project,
      version: "0.1.0",
      elixir: "~> 1.9",
      start_permanent: Mix.env() == :prod,
      deps: deps()
    ]
  end

  # Run "mix help compile.app" to learn about applications.
  def application do
    [
      extra_applications: [:logger]
    ]
  end

  # Run "mix help deps" to learn about dependencies.
  defp deps do
    [
      # {:dep_from_hexpm, "~> 0.3.0"},
      # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
    ]
  end
end


  1. 專案下執行交互環境

在專案目錄下,執行iex -S mix,就可以在專案環境中運行交互模式,可以執行模組的函式。

lib資料下慣例上放著我們elixir的程式邏輯本身,並且 mix 已經幫忙做出了專案的頂層模組,並且名稱會以創建的專案名稱轉為大寫駝峰。

defmodule NewProject do
  @moduledoc """
  Documentation for NewProject.
  """

  @doc """
  Hello world.

  ## Examples

      iex> NewProject.hello()
      :world

  """
  def hello do
    :world
  end
end

因此我們可以在執行iex -S mix後,進行以下操作:

iex(1)> NewProject.hello()
:world

這樣就執行了一個簡單的hello world囉~

在執行iex -S mix的當下,會發現跟目錄下多了一個/_build資料夾,原因是因為Elixir在執行前會先編譯成在 Erlang VM 上可執行的 Binary code,mix compile一樣會對專案進行編譯。



上一篇
Day 14 |> 常用模組函式介紹
下一篇
Day 16 |> Plug ( 插頭 ) 簡介
系列文
用Elixir學習後端煉金術30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言